Page({
  data: {
    activityInfo: {
    },
    aid:''
  },

  onLoad(options) {
    // 根据id获取活动详情
    if (options.aid) {
      this.setData({
        aid:options.aid
      })
      this.getActivityDetail(options.aid)
    }
  },
  onPullDownRefresh() {
    const id = this.data.aid
    this.getActivityDetail(id)
    setTimeout(() => {
      wx.stopPullDownRefresh()
      wx.showToast({
        title: '刷新成功',
        icon: 'success',
        duration: 1000
      })
    }, 1000)
  },

  getActivityDetail(id) {
    // TODO: 调用接口获取活动详情
    const app = getApp()
    app.activityApi.getCanActivityDetail(id).then(
      res => {
        this.setData({
          activityInfo: res.data.data
        })
        console.log(res.data)
      }
    )
  },

  previewImage(e) {
    const current = e.currentTarget.dataset.url
    wx.previewImage({
      current,
      urls: this.data.activityInfo.images
    })
  },

  onReport() {
    wx.navigateTo({
      url: '/pages/activity/joinAddition'
    })
  },

  onJoin() {
    // 添加确认弹窗
    wx.showModal({
      title: '确认报名',
      content: '确定要报名此活动吗？',
      success: (res) => {
        if (res.confirm) {
          // 用户点击确定，处理报名逻辑
          // TODO: 发送报名请求到服务器
          const app = getApp()
          app.activityApi.joinActivity(
            this.data.aid
        ).then(res => {
          console.log(res)
            if (res.data.code === 200) {
              this.setData({
                "activityInfo.joinStatus": true
              })
              wx.showToast({
                title: '报名成功',
                icon: 'success'
              })
            } else {
              wx.showToast({
                title: res.msg || '报名失败',
                icon: 'none'
              })
            }
          }).catch(err => {
            wx.showToast({
              title: '报名失败',
              icon: 'none'
            })
          })
        }
        // 用户点击取消，不做任何操作
      }
    })
  },

  onCancel() {
    // 添加确认弹窗
    wx.showModal({
      title: '确认取消',
      content: '确定要取消报名此活动吗？',
      success: (res) => {
        if (res.confirm) {
          // 用户点击确定，处理取消报名逻辑
          // TODO: 发送取消报名请求到服务器
          const app = getApp()
          app.activityApi.cancelJoin(this.data.aid).then(res => {
            if (res.data.code === 200) {
              this.setData({
                "activityInfo.joinStatus": false
              })
              wx.showToast({
                title: '已取消报名',
                icon: 'success'
              })
            } else {
              wx.showToast({
                title: res.msg || '取消失败',
                icon: 'none'
              })
            }
          }).catch(err => {
            wx.showToast({
              title: '取消失败',
              icon: 'none'
            })
          })
        }
        // 用户点击取消，不做任何操作
      }
    })
  }
})